iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
AI & Data

菜鳥工程師第一個電腦視覺(CV)專案-農作物影像辨識競賽系列 第 27

D27-競賽資料集運算Pretrained_EfficientNet_1st

  • 分享至 

  • xImage
  •  

Part0:前言

昨天收到主辦方AI Cup釋出第一階段測試集的通知,就對今天鐵人賽文章有大致規劃。可惜測試資料申請通過需要時間,目前仍為申請後「等待審查通過」階段,所以目前還沒有資料能進行測試~ 那就趁今天跑新的預訓練模型&統整目前訓練遇到的挑戰和後續規劃囉!


Part1:今日目標

1.申請競賽主辦方釋出的公開測試資料集
2.採用預訓練EfficientNet_V2_l模型進行遷移式學習
3.統整目前訓練遇到的挑戰&應對規劃


Part2:內容

1.申請競賽主辦方釋出的公開測試資料集

2.採用預訓練EfficientNet_V2_l模型進行遷移式學習

(1)根據自己在D17-影像識別經典模型簡介2nd_ResNet分享,選用幾個Pytorch官方提供的預訓練模型進行比較,決定先以EfficientNet_V2_l模型作為今天進行遷移式訓練採用的模型。

import torchvision
model_efficientnet = torchvision.models.efficientnet_v2_l(pretrained=True).to(device) # load pretrained Alexnet model (pretrained weights)
print(model_efficientnet)

# Transfer Learning: (方法_2)ConvNet as fixed feature extractor
for param in model_efficientnet.parameters():
    param.requires_grad = False  # 不自動更新參數:把所有層數都凍結(freeze the weights)
    
# Parameters of newly constructed modules have requires_grad=True by default
num_ftrs = model_efficientnet.classifier[1].in_features  # 最後一層輸入器的輸入維度
model_efficientnet.classifier[1] = torch.nn.Linear(num_ftrs, 33)  # 33: numbers of output class

model_efficientnet = model_efficientnet.to(device)
criterion = torch.nn.CrossEntropyLoss()
# Only parameters of final layer are being optimized 
optimizer_conv = torch.optim.SGD(model_efficientnet.classifier[1].parameters(), lr=0.001, momentum=0.9)  # 只對最後一層參數做更新(指定最後一層:model_conv.fc)
exp_lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer_conv, step_size=7, gamma=0.1)

### Train and evaluate
model_efficientnet = train_model(model_efficientnet, criterion, optimizer_conv,
                         exp_lr_scheduler, num_epochs=1)

(2)目前仍採用所有訓練資料、batch_size=10的組合,一個Epoch估計約訓練9小時,train_loader和val_loader數量分別為7162和896個batch。

3.統整目前訓練遇到的挑戰&應對規劃

(1)訓練集train_loader圖片資料量太大 -> 抽樣訓練、只選用有準心標註(專家註記)的圖片
(2)訓練時間太長 -> 除了第(1)點外,是否有其他優化方案,例如:租借雲端硬體設備進行訓練、模型訓練設定上進行調整
(3)圖片前處理 -> 目前只有最基本的影像裁切,蒐集其他常用可提升模型預測能力的資料前處理方式。


Part3:專案進度

完成取得公開測試資料集的申請,進行第二個預訓練模型。

Part4:下一步

將訓練時間縮短,才能進行不同圖片預處理的實驗,以了解有哪些方式是較有機會提升模型預測表現。


心得小語:
昨天聽老弟lab meeting rehearsal,快1:30才睡真滴累~~
也深深感受到隔行如隔山耶,routing, bump, sweep line, flip是什麼,真的霧煞煞呀! 但有對簡報邏輯連貫性給些建議,其實聽報告很不錯的,但若是自己喜歡的領域更好啦!
今日工時: 50min*1

每個人都是自己命運的建築師
Each man is the architect of his own fate.


上一篇
D26-競賽資料集運算Pretrained_AlexNet_6th
下一篇
D28-競賽資料集運算Pretrained_ResNet_1st
系列文
菜鳥工程師第一個電腦視覺(CV)專案-農作物影像辨識競賽32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言